package com.yunyu.biz.taskfactory.taskBatch;

import java.util.Date;
import java.util.Map;

/**
 * 任务ID主要用作任务依赖
 * <p>
 * 目前可根据时间精度生成ID
 * <p>
 * 任务ID最好与时间有关系，需保证不重复（同一个任务）
 *
 * @auther lihui
 * @date 2019-07-25 21:37
 */
public interface TaskBatch {
    /**
     * 生成新的批次号
     *
     * @param date   : 创建任务的时间（原本）
     * @param params : 其他参数，自定义时用
     * @return : 任务ID
     */
    String createBatchID(Date date, Map<String, Object> params);

    /**
     * 查询依赖任务的ID
     *
     * @param taskName : 依赖的任务名称
     * @param date     : 创建任务的时间（原本）
     * @param params   : 其他参数，自定义时用
     * @return : 依赖任务ID
     */
    String findDependTaskBatchID(Date date, String taskName, Map<String, Object> params);
}
